gitlab-ci: Add a 32bit mingw build
authorChristoph Reiter <reiter.christoph@gmail.com>
Fri, 6 Apr 2018 16:15:38 +0000 (18:15 +0200)
committerChristoph Reiter <creiter@src.gnome.org>
Tue, 10 Apr 2018 17:24:15 +0000 (19:24 +0200)
.gitlab-ci.yml
.gitlab-ci/test-msys2.sh [new file with mode: 0644]

index 04a57e0df0b368f9d8f7b82f54917fe8b4ef3ae0..bbabf994af6e5dae2c229471d7b4204ef81e346e 100644 (file)
@@ -22,6 +22,20 @@ gtk:
     paths:
       - "${CI_PROJECT_DIR}/_build/meson-logs"
 
+.mingw-defaults: &mingw-defaults
+  stage: build
+  tags:
+    - win32
+  script:
+    - C:\msys64\usr\bin\pacman --noconfirm -Syyuu
+    - C:\msys64\usr\bin\bash -lc "bash -x ./.gitlab-ci/test-msys2.sh"
+
+mingw32:
+  variables:
+    MSYSTEM: "MINGW32"
+    CHERE_INVOKING: "yes"
+  <<: *mingw-defaults
+
 flatpak:demo:
   image: registry.gitlab.com/alatiera/gnome-nightly-oci/gnome-master:latest
   stage: flatpak
diff --git a/.gitlab-ci/test-msys2.sh b/.gitlab-ci/test-msys2.sh
new file mode 100644 (file)
index 0000000..da0599a
--- /dev/null
@@ -0,0 +1,42 @@
+#!/bin/bash
+
+set -e
+
+if [[ "$MSYSTEM" == "MINGW32" ]]; then
+    export MSYS2_ARCH="i686"
+else
+    export MSYS2_ARCH="x86_64"
+fi
+
+# Update everything
+pacman --noconfirm -Suy
+
+# Install the required packages
+pacman --noconfirm -S --needed \
+    base-devel \
+    git \
+    mingw-w64-$MSYS2_ARCH-toolchain \
+    mingw-w64-$MSYS2_ARCH-pkg-config \
+    mingw-w64-$MSYS2_ARCH-gobject-introspection \
+    mingw-w64-$MSYS2_ARCH-meson \
+    mingw-w64-$MSYS2_ARCH-adwaita-icon-theme \
+    mingw-w64-$MSYS2_ARCH-atk \
+    mingw-w64-$MSYS2_ARCH-cairo \
+    mingw-w64-$MSYS2_ARCH-gdk-pixbuf2 \
+    mingw-w64-$MSYS2_ARCH-glib2 \
+    mingw-w64-$MSYS2_ARCH-graphene \
+    mingw-w64-$MSYS2_ARCH-json-glib \
+    mingw-w64-$MSYS2_ARCH-libepoxy \
+    mingw-w64-$MSYS2_ARCH-pango \
+    mingw-w64-$MSYS2_ARCH-fribidi \
+    mingw-w64-$MSYS2_ARCH-gst-plugins-bad \
+    mingw-w64-$MSYS2_ARCH-shared-mime-info
+
+# Build
+meson \
+    -Denable-x11-backend=false \
+    -Denable-wayland-backend=false \
+    -Denable-win32-backend=true \
+    _build
+
+ninja -C _build